#include <env/ti/ti_common.env>
#include <env/ti/mmc.env>
#include <env/ti/k3_dfu.env>

findfdt=
	if test $board_name = am64x_gpevm; then
		setenv name_fdt ti/k3-am642-evm.dtb; fi;
	if test $board_name = am64x_skevm; then
		setenv name_fdt ti/k3-am642-sk.dtb; fi;
	if test $name_fdt = undefined; then
		echo WARNING: Could not determine device tree to use; fi;
	setenv fdtfile ${name_fdt}
name_kern=Image
console=ttyS2,115200n8
args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}

boot_targets=mmc1 mmc0 usb pxe dhcp
boot=mmc
mmcdev=1
bootpart=1:2
bootdir=/boot
rd_spec=-

args_usb=run finduuid;setenv bootargs console=${console}
	${optargs}
	root=PARTUUID=${uuid} rw
	rootfstype=${mmcrootfstype}
init_usb=run args_all args_usb
get_fdt_usb=load usb ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}
get_overlay_usb=
	fdt address ${fdtaddr};
	fdt resize 0x100000;
	for overlay in $name_overlays;
	do;
	load usb ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && fdt apply
	${dtboaddr};
	done;
get_kern_usb=load usb ${bootpart} ${loadaddr}
	${bootdir}/${name_kern}
get_fit_usb=load usb ${bootpart} ${addr_fit}
	${bootdir}/${name_fit}
usbboot=setenv boot usb;
	setenv bootpart 0:2;
	usb start;
	run findfdt;
	run init_usb;
	run get_kern_usb;
	run get_fdt_usb;
	run run_kern;
